Email Configuration

您所在的位置:网站首页 aws config Email Configuration

Email Configuration

#Email Configuration | 来源: 网络整理| 查看: 265

Email Configuration¶

You can configure the email that is being sent in your airflow.cfg by setting a subject_template and/or a html_content_template in the [email] section.

[email] email_backend = airflow.utils.email.send_email_smtp subject_template = /path/to/my_subject_template_file html_content_template = /path/to/my_html_content_template_file

Equivalent environment variables look like:

AIRFLOW__EMAIL__EMAIL_BACKEND=airflow.utils.email.send_email_smtp AIRFLOW__EMAIL__SUBJECT_TEMPLATE=/path/to/my_subject_template_file AIRFLOW__EMAIL__HTML_CONTENT_TEMPLATE=/path/to/my_html_content_template_file

You can configure a sender's email address by setting from_email in the [email] section like:

[email] from_email = "John Doe "

Equivalent environment variables look like:

AIRFLOW__EMAIL__FROM_EMAIL="John Doe "

To configure SMTP settings, checkout the SMTP section in the standard configuration. If you do not want to store the SMTP credentials in the config or in the environment variables, you can create a connection called smtp_default of Email type, or choose a custom connection name and set the email_conn_id with it's name in the configuration & store SMTP username-password in it. Other SMTP settings like host, port etc always gets picked up from the configuration only. The connection can be of any type (for example 'HTTP connection').

If you want to check which email backend is currently set, you can use airflow config get-value email email_backend command as in the example below.

$ airflow config get-value email email_backend airflow.utils.email.send_email_smtp

To access the task's information you use Jinja Templating in your template files.

For example a html_content_template file could look like this:

Try {{try_number}} out of {{max_tries + 1}} Exception:{{exception_html}} Log: Link Host: {{ti.hostname}} Mark success: Link

Note

For more information on setting the configuration, see Setting Configuration Options

Send email using SendGrid¶ Using Default SMTP¶

You can use the default airflow SMTP backend to send email with SendGrid

[smtp] smtp_host=smtp.sendgrid.net smtp_starttls=False smtp_ssl=False smtp_user=apikey smtp_password= smtp_port=587 smtp_mail_from=

Equivalent environment variables looks like

AIRFLOW__SMTP__SMTP_HOST=smtp.sendgrid.net AIRFLOW__SMTP__SMTP_STARTTLS=False AIRFLOW__SMTP__SMTP_SSL=False AIRFLOW__SMTP__SMTP_USER=apikey AIRFLOW__SMTP__SMTP_PASSWORD= AIRFLOW__SMTP__SMTP_PORT=587 AIRFLOW__SMTP__SMTP_MAIL_FROM= Using SendGrid Provider¶

Airflow can be configured to send e-mail using SendGrid.

Follow the steps below to enable it:

Setup your SendGrid account, The SMTP and copy username and API Key.

Include sendgrid provider as part of your Airflow installation, e.g.,

pip install 'apache-airflow[sendgrid]' --constraint ... orpip install 'apache-airflow-providers-sendgrid' --constraint ...

Update email_backend property in [email] section in airflow.cfg, i.e.

[email] email_backend = airflow.providers.sendgrid.utils.emailer.send_email email_conn_id = sendgrid_default from_email = "[email protected]"

Equivalent environment variables looks like

AIRFLOW__EMAIL__EMAIL_BACKEND=airflow.providers.sendgrid.utils.emailer.send_email AIRFLOW__EMAIL__EMAIL_CONN_ID=sendgrid_default [email protected]

Create a connection called sendgrid_default, or choose a custom connection name and set it in email_conn_id of 'Email' type. Only login and password are used from the connection.

Note

The callbacks for success, failure and retry will use the same configuration to send the email

Send email using AWS SES¶

Airflow can be configured to send e-mail using AWS SES.

Follow the steps below to enable it:

Include amazon subpackage as part of your Airflow installation:

pip install 'apache-airflow[amazon]'

Update email_backend property in [email] section in airflow.cfg:

[email] email_backend = airflow.providers.amazon.aws.utils.emailer.send_email email_conn_id = aws_default from_email = From email

Note that for SES, you must configure from_email to the valid email that can send messages from SES.

Create a connection called aws_default, or choose a custom connection name and set it in email_conn_id. The type of connection should be Amazon Web Services.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3